Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

624
Visualizações
"Sin atributo de manifiesto principal" al crear un contenedor de Kotlin con IntelliJ IDEA

Al crear un jar a partir de mi código Kotlin y ejecutarlo, dice "Sin atributo de manifiesto principal". Al mirar el manifest.mf, tiene este contenido:

 Manifest-Version: 1.0

Al mirar el archivo en la fuente, tiene este contenido:

 Manifest-Version: 1.0 Main-Class: MyMainClass

Al copiar manualmente el manifiesto de origen en el contenedor, funciona perfectamente.

Captura de pantalla de la configuración de mi artefacto

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Recibí este error con Gradle y Kotlin. Tuve que agregar en mi build.gradle.kts un atributo de manifiesto explícito:

 tasks.withType<Jar> { manifest { attributes["Main-Class"] = "com.example.MainKt" } }

De la documentación de gradle , es mejor crear una tarea fatJar para englobar todas las dependencias de tiempo de ejecución en caso de que encuentre errores java.lang.NoClassDefFoundError

over 4 years ago · Santiago Trujillo Relatório

0

Si alguno de los archivos jar dependientes tiene un archivo MANIFEST.MF , anulará el archivo personalizado que define la Main-Class .

Para solucionar este problema, debe hacer lo siguiente:

  • Deshabilitar el orden alfabético
  • Cambie el orden de los elementos para que el elemento que tiene el archivo META-INF/MANIFEST.MF sea el primero en la lista
  • IntelliJ IDEA recogerá su MANIFEST.MF personalizado y lo mostrará para el artefacto jar .

Consulte el problema relacionado para obtener más detalles.

También puede usar Gradle o Maven para generar el fat jar en su lugar.

over 4 years ago · Santiago Trujillo Relatório

0

1. Agregue la siguiente definición de tarea en el script de compilación

 tasks.jar { manifest { attributes["Main-Class"] = "MainKt" } configurations["compileClasspath"].forEach { file: File -> from(zipTree(file.absoluteFile)) } }
  1. Luego, las tareas de jar (Tareas | construir | jar) nuevamente desde la barra lateral derecha.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda